package com.yqkj.zysoft.upms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import  com.project.easy.common.util.dto.CommonContextParam;
import com.yqkj.zysoft.upms.entity.FrameworkFunction;
import com.yqkj.zysoft.upms.entity.dto.FrameWorkFunctionAddRequest;
import com.yqkj.zysoft.upms.entity.dto.FrameWorkFunctionUpdateRequest;
import com.yqkj.zysoft.upms.entity.dto.FunctionTreeDto;
import com.yqkj.zysoft.upms.entity.dto.QueryFunctionRequest;

import java.util.List;

/**
 * <p>
 * 服务功能 服务类
 * </p>
 *
 * @author GreatorMan.cool
 * @since 2022-08-10
 */
public interface IFrameworkFunctionService extends IService<FrameworkFunction> {
    /**
     *
     * @param commonContextParam 请求参数
     * @return 反回菜单
     */
    List<FunctionTreeDto> menu(CommonContextParam commonContextParam);

    /**
     * 新增
     * @param workFunctionAddRequest 参数
     * @return 返回 true 成功 false 失败
     */
    Long add(FrameWorkFunctionAddRequest workFunctionAddRequest);

    /**
     * 更新数据
     * @param frameWorkFunctionUpdateRequest 参数
     * @return true 成功 false 失败
     */
    Boolean updateObject(FrameWorkFunctionUpdateRequest frameWorkFunctionUpdateRequest);
    /**
     * 分页
     * @param queryFunctionRequest 分页查询条件
     * @return 返回数据
     */
    List<FunctionTreeDto> tree(QueryFunctionRequest queryFunctionRequest);

    /**
     * 删除菜单功能
     * @param id ID
     * @return 返回
     */
    public Boolean del(Long id);
    /**
     * 启用
     * @param id ID
     * @return true 启用成功 false 启用失败
     */
    public Boolean able(Long id);

    /**
     * 启用
     * @param id ID
     * @return true 启用成功 false 启用失败
     */
    public Boolean disAble(Long id);

}
